In an image-based retrieval system, a query image is used for retrieving image related data, for example a position of a camera, from a server. The image is processed (either in a server or in a client apparatus) to extract visual features (e.g. SIFT (Scale Invariant Feature Transform) features or other similar descriptors derived from the local neighborhood of any given point in the image), which visual features are then submitted to the image-based retrieval system. The retrieval system tries to match the visual features against known, previously identified and localized visual features. If a match is found, a visual location (or other associated data, e.g. position) corresponding to the query image is returned to the client apparatus for further use.
The search space in the retrieval system can be huge, especially for the real-world applications. When reconstructing a 3D point cloud of a shopping mall, there are millions of or even more feature vectors, against which the thousands of features from the query image must be compared.
There is, therefore, a need for a solution that accelerates the image-based retrieval in the context of visual location determination.